package com.example.springboot.service.impl;
// 导入MyBatis-Plus查询条件构造器
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 导入MyBatis-Plus服务实现基类
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
// 导入管理员实体类
import com.example.springboot.entity.Admin;
// 导入管理员Mapper接口
import com.example.springboot.mapper.AdminMapper;
// 导入管理员服务接口
import com.example.springboot.service.AdminService;
// 导入Spring服务注解
import org.springframework.stereotype.Service;
// 导入Spring资源注入注解
import javax.annotation.Resource;
/**
 * 管理员服务实现类
 * 继承自MyBatis-Plus的ServiceImpl，提供基础CRUD功能
 * 实现AdminService接口，定义具体业务逻辑
 */

@Service
public class AdminServiceImpl extends ServiceImpl<AdminMapper, Admin> implements AdminService {

    /**
     * 注入DAO层对象
     */
    @Resource
    private AdminMapper adminMapper;

    /**
     * 管理员登录验证
     * @param username 用户名
     * @param password 密码
     * @return 登录成功返回管理员对象，失败返回null
     */
    @Override
    public Admin adminLogin(String username, String password) {
        // 创建查询条件构造器
        QueryWrapper<Admin> qw = new QueryWrapper<>();
        // 添加用户名相等条件
        qw.eq("username", username);
        // 添加密码相等条件
        qw.eq("password", password);
        // 执行查询，返回单个结果
        Admin admin = adminMapper.selectOne(qw);
        // 判断结果是否存在
        if (admin != null) {
            return admin;
        } else {
            return null;
        }
    }

    /**
     * 更新管理员信息
     * @param admin 包含更新信息的管理员对象（需包含ID）
     * @return 更新成功的记录数
     */
    @Override
    public int updateAdmin(Admin admin) {
        // 调用Mapper的updateById方法更新记录
        int i = adminMapper.updateById(admin);
        return i;
    }

}
